package com.lv.service.net

import android.os.Parcelable
import androidx.annotation.Keep
import com.lv.service.bean.AddressDetailsBean
import com.lv.service.bean.CategoryMoreBean
import com.lv.service.bean.CertificationBean
import com.lv.service.bean.ContactBean
import com.lv.service.bean.ContactUPBean
import com.lv.service.bean.DisplayFacBean
import com.lv.service.bean.DisplayPro
import kotlinx.parcelize.Parcelize

/**
 * 创建者：ygx
 * 创建日期：2021/9/17 11:11 PM
 * 描述：TODO
 */
@Keep
data class SendCodeBody(
    val phone: String,
    val happy: String,
    val code: String = "0",//0 普通发送 1更换手机号时发送
)

@Keep
data class VerifyCodeBody(
    val phone: String,
    val checkCode: String,
)

@Keep
data class LoginByCodeReqBody(
    val phone: String,
    val checkCode: String,
)
@Keep
data class LoginByPassWordReqBody(
    val phone: String,
    val password: String,
)

@Parcelize
@Keep
data class CategoryPeriodsBody(
    val id: String? = null,
    val cpyid: String,
    val province: String,
    val periods: String,
    val category: CategoryMoreBean,
    val created: Long? = null,
    val updated: Long? = null,
) : Parcelable

@Parcelize
@Keep
data class MapTracingPointBody(
    val tracing: List<MapTracingBody>? = null,
) : Parcelable

@Parcelize
@Keep
data class MapTracingBody(
    val userid: String? = null,
    var data: List<String>?,//\(time)~\(latitude)~\(longitude)~\(type)" (type=0 移动。1拍照。2上传)
    val time: String,
) : Parcelable


@Parcelize
@Keep
data class UpReceiptBody(
    var ids: List<String>?,
    var book: List<String>?,
    var provin: List<String>?,
    var city: List<String>?,
    var area: List<String>?,
    var prefecture: List<String>?,
    var periods: List<String>?,
) : Parcelable

@Parcelize
@Keep
data class CouponBody(
    var province: String?,//全国  福建  江西
    var grantnum: String?,//1000, 优惠券总量
    var price: String?,//1000 返多少
    var consumption: String?,//1000 满多少//传 实付
    var name: String?,//卷名
    var drawdate: String?,//"2024-09-27" 发券日期
    var drawcreated: String?,//1727400951000 领券开始时间
    var drawendtime: String?,//1727429751000 领券结束时间
    var endtime: String?, //券到期时间
) : Parcelable

@Parcelize
@Keep
data class QuestionBody(
    var cpyid: String?,
    var problem: List<String>?,
) : Parcelable

@Parcelize
@Keep
data class CusCatetoryBody(
    var show: String?,
    var name: String?,
    var cpyid: String?,
    var id: String = "",
) : Parcelable

@Parcelize
@Keep
data class SaveCashBody(
    var code: String?,//公司logo
    var comlogo: String?,//公司logo
    var comphone: String?,
    var comname: String?,
    var cpyid: String?,
    var username: String?,//业务员名称
    var userid: String?,//业务员id
    var display: String?,//省份
    var attachment: List<AttachmentCashBody>?,
    var actualprice: String?,//实际返现金额，元
) : Parcelable

@Parcelize
@Keep
data class AttachmentCashBody(
    var type: String?,//0推广 1付款   2转账
    var image: String?,
) : Parcelable

@Parcelize
@Keep
data class DrawSetBody(
    var province: String?,//全国传空字符
    var start: String?,//活动开始时间戳
    var end: String?,//活动结束时间戳
    var drawstart: String?,// 9.00 领取开始时间每天几点
    var drawend: String?,// 11.00 领取开始结束每天几点
    var cardprice: List<Int>?,// 11.00 领取开始结束每天几点
) : Parcelable

@Parcelize
@Keep
data class CusTomerRecodeBody(
    var cpyid: String?,
    var remark: String?,//"备注",
    var condition: String?,//"稳定客户 签单成交  潜在客户",
    var images: List<String>?,//["门头或其他信息"],
    var type: String?,//0 拜访记录  1维护记录   2合同",
    var visittime: String?,//下次访问/维护时间   时间戳
    var start: String?,//合同开始时间
    var end: String?,//合同结束时间
    var province: String?,// 省份
    var periods: String?,// 期数
) : Parcelable

@Parcelize
@Keep
data class AddmultistageReqBody(
    var id: String?, //公司id
    var code: String?,////0地址  1联系人  2工厂展示
    var province: String?,
    var fcaid: Int? = 0,
    var secaid: Int? = 0,
    var site: List<AddressDetailsBean>?,//var type: String?,//0 工厂地址  1 工厂地址  2店面地址
    var contact: List<ContactBean>?,
    var displayFac: List<DisplayFacBean>?,
) : Parcelable

@Parcelize
@Keep
data class UpdateProvinceComCardReqBody(
    var province: String?,
    var isspecially: String?,
    var border: String?,
    var cpyid: String?,
) : Parcelable

@Parcelize
@Keep
data class PutSpuBackdropReqBody(
    var userid: String?,
    var cpyid: String?,
    var inter: List<String>?,
    var code: String? = "0",//0 多选  1 全选上架列表   2全选下架列表   3全选风险下架列表
) : Parcelable

@Parcelize
@Keep
data class ClientHFRReqBody(
    var phone: String?,
    var name: String?,
    var image: String?,
    var province: String?,
    var city: String?,
    var area: String?,
    var prefecture: String?,
    var address: String?,
    var merito: String?,
    var longitude: String?,
    var latitude: String?,
    var identification: String?,
    var category: CategoryMoreBean?,
    var certification: List<CertificationBean>?,
    var contact: List<ContactUPBean>?,
    var displayFac: List<DisplayFacBean>?,
    var displayPro: DisplayPro?,
) : Parcelable

@Keep
data class UserDeleteReqBody(
    val id: String,
    val phone: String,
    val checkCode: String
)

@Keep
data class CompanyReqBody(
    val cpyid: String,
    val password: String,
    val phone: String,
    val checkCode: String
)
